This control (OCX) is really designed for VB4/5. It may work in other OCX containers but I haven't tried it.
The reason for using an OCX written in C for fairly simple algorythms are speed. In short the OCX is about 500 times quicker even if you are only adding up bytes (it also skirts around the bug in VB where a byte becomes a short int when you compile the application, but I digress...)
Usage
~~~~~
In VB you simply give the OCX a string and say what CRC to return, you have the option of showing a progress bar or passing the string in chunks. An example VB project is included.
Installation
~~~~~~~~~~~~
This is a programmers tool, if you need to ask...
License
~~~~~~~
I have released this control as what I call 'swapware', this means you can use this control in any personal project for free (send me an email anyway for my intrest at freereg_crcocx@sirocco.force9.co.uk). I would like to get something back so if you use this control to produce a shareware or comercial product, I would like a copy of that product, DO NOT email me an application, send me an email with a description, a URL to get the program and the regcode etc. If it a big app that is only distributed on CD send me details and we'll take it from there. The address for swaps is swapreg_crcocx@sirocco.force9.co.uk
Support
~~~~~~~
As this product is free, I will not guarantee to answer any queries, I, and a few others, have tested it and it does what I wanted. Send any queries to: freesupt_crcocx@sirocco.force9.co.uk
Source Code
~~~~~~~~~~~
I understand that commercial organisations must be able to guarantee continuity of support if they choose to use a component especially from a one-man-band. The best way I can ensure this is to make the source code available. If you wish to 'buy' the source code go to www.sw-reg.com and look up product id 201692. They will send the password to open the source code archive (www.sirocco.force9.co.uk/crcsrc.zip) and inform me of your purchase. This will not guarantee I will provide support and upgrades etc, it is your guarantee that YOU can support the component.
Implementation
~~~~~~~~~~~~~~
I have implemented a selection of CRCs detailed below:
0: XOR
8 Bit Bitwise XOR
1: CRC32
This is the most widely used CRC, it expressed as
x^32,26,23,22,16,12,11,10,8,7,5,4,2,1,0. This is
used in zip archives.
2: Adler
I believe this is the method used in GZIP archives.